package com.edu.ahm.thread;
/**
 * 守护线程
 *
 * 虚拟机确保用户线程要执行完璧
 * 不用等待守护线程
 * 如 后台记录操作日志 监控内存 垃圾回收等待
 *
 *
 * 用户线程 ： main 结束 那么程序就结束了
 * gc 线程
 * */
public class daemonTest {
    public static void main(String[] args) {
        God god = new God();
        You2 you = new You2();

        Thread thread = new Thread(god);
        thread.setDaemon(true); // 默认是false 为 用户线程
        thread.start();   // 守护线程 启动

        new Thread(you).start();// 用户线程启动 run 执行完就停了
          // 用户线程一停 守护线程也停了


    }

}

// 上帝
class God implements Runnable{

    @Override
    public void run() {
        while (true){
            System.out.println("上帝保有着你");
        }
    }
}
// 你
class You2 implements Runnable{

    @Override
    public void run() {
        for (int i = 0; i < 36500; i++) {
            System.out.println("你一生都开心的活着");
        }
        System.out.println("-======goodbye! world!"); // Hello World
    }
}
